package dome1Exception;

import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.InputStream;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;

public class ExceptionDome1 {
    //throws抛出异常  忽视异常
    public static void main(String[] args)  {
        //认识异常的体系，了解异常的基本作用
        test1();
        try {
            //try监视异常 catch拦截异常
            test2();
        } catch (ParseException e) {
            e.printStackTrace();//打印异常
        } catch (FileNotFoundException e) {
            e.printStackTrace();
        }
        //处理异常方法


    }
    public static void test2() throws ParseException, FileNotFoundException {//认识编译时异常
        String str ="2024-08-28 22:56:30";
        SimpleDateFormat sdf = new SimpleDateFormat("yyyyMM-dd HH:mm:ss");//时间格式
        Date date=sdf.parse(str);//典型的编译时异常   ParseException抛出异常
        //alt+回车键 选择try catch
        InputStream is=new FileInputStream("D/meinv.png");
        // FileNotFoundException 文件不存在



        /* 提醒程序员这个位置很容易出现问题 */
        System.out.println(date);

    }

    public static void test1(){//认识运行时异常 RunTimeException
        //ArrayIndexOutOfBoundsException异常 继承RunTimeException
        //编译时不报错，运行时才会报错
        //System.out.println("test1");
        int[] arr = {1,2,3};
        //System.out.println(arr[3]);
        //System.out.println(10/0);//运行时异常

        //空指针异常 NullPointerException
        String str = null;
        //System.out.println(str.length());

        //抛出异常

        //System.out.println("test2");//该语句不会执行
    }
}
